﻿namespace DoNet.ApiHttpClient.Entitys
{
    /// <summary>
    /// 
    /// </summary>
    public class HttpClientApi
    {
        /// <summary>
        /// API HttpClient 名称
        /// </summary>
        public string HttpClientName { set; get; } = string.Empty;
        /// <summary>
        /// 是否使用HTTPS，为false时表示使用HTTP
        /// </summary>
        public bool IsUseHttps { set; get; }
        /// <summary>
        /// API接口域名列表
        /// 第一个为通用域名，其他为容灾域名
        /// </summary>
        public List<ApiDomain> Domains { set; get; } = new List<ApiDomain>();
        /// <summary>
        /// 设置 TLS 1.2 1.3 指定协议版本（默认不使用任何SSL/TLS协议）
        /// ‌SslProtocols.None‌在.NET中表示不使用任何SSL/TLS协议。这意味着在.NET应用程序中，不会启用任何加密通信协议，数据传输将不进行加密，存在被窃听或篡改的风险‌
        /// SslProtocols.Default (已弃用)
        /// SslProtocols.Ssl2 (已弃用)
        /// SslProtocols.Ssl3 (已弃用)
        /// SslProtocols.Tls (已弃用)
        /// SslProtocols.Tls11 (已弃用)
        /// SslProtocols.Tls12;
        /// SslProtocols.Tls13;
        /// </summary>
        public string[] SslProtocols { set; get; } = new string[0];
    }
    /// <summary>
    /// API接口域名类
    /// </summary>
    public class ApiDomain
    {
        /// <summary>
        ///  序号
        /// </summary>
        public int index { set; get; }
        /// <summary>
        /// 域名
        /// </summary>
        public string domain { set; get; } = string.Empty;
    }
}
